package cn.iocoder.yudao.module.infra.controller.admin.ocr.vo.config;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Schema(description = "Admin - OCR Configuration Response VO")
@Data
public class OcrConfigRespVO {

    @Schema(description = "Configuration ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "Configuration name", requiredMode = Schema.RequiredMode.REQUIRED, example = "General OCR Config")
    private String name;

    @Schema(description = "OCR type: general_basic-General OCR, accurate_basic-Accurate OCR, idcard-ID Card OCR, business_license-Business License OCR, bankcard-Bank Card OCR, driving_license-Driving License OCR, vehicle_license-Vehicle License OCR", requiredMode = Schema.RequiredMode.REQUIRED, example = "general_basic")
    private String type;

    @Schema(description = "Baidu App ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "your_app_id")
    private String appId;

    @Schema(description = "Baidu API Key", requiredMode = Schema.RequiredMode.REQUIRED, example = "your_api_key")
    private String apiKey;

    @Schema(description = "Baidu Secret Key", requiredMode = Schema.RequiredMode.REQUIRED, example = "your_secret_key")
    private String secretKey;

    @Schema(description = "Configuration status: 0-Disabled, 1-Enabled", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer status;

    @Schema(description = "Remark", example = "OCR configuration for general text recognition")
    private String remark;

    @Schema(description = "Create time", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

    @Schema(description = "Update time", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime updateTime;

}